package com.cyan.note.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import java.time.LocalTime;

/**
 * 店铺实体类 - 完全匹配数据库shops表结构
 * 超级管理员只能访问系统级基础信息，不能访问业务配置
 * 
 * @author ZhangzhenYu
 * @since 2025-01-14
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class Shop extends BaseEntity {

    /**
     * 店铺名称 - 超级管理员可访问
     */
    private String name;

    /**
     * 店铺编号（唯一）- 超级管理员可访问
     */
    private String code;

    /**
     * 店铺描述 - 超级管理员可访问
     */
    private String description;

    /**
     * 店铺Logo URL
     */
    private String logo;

    /**
     * 营业开始时间
     */
    private LocalTime businessHoursStart;

    /**
     * 营业结束时间
     */
    private LocalTime businessHoursEnd;

    /**
     * 联系电话 - 超级管理员可访问
     */
    private String contactPhone;

    /**
     * 联系地址
     */
    private String contactAddress;

    /**
     * 店铺状态 - 超级管理员可访问和管理
     * active: 活跃
     * suspended: 暂停
     * closed: 关闭
     */
    private String status;

    /**
     * 创建者ID（超级管理员ID）- 超级管理员可访问
     */
    private Long createdBy;

    // 以下字段超级管理员不应该访问，属于店铺业务配置
    // 但为了完整性保留实体定义
}